1. Field of the Invention
This invention relates to an improved outbound call management system and, more particularly, to a system which smoothly matches the number of calls dialed to the outbound telephone switch capacity.
2. Description of the Prior Art
Call origination management systems automatically dial clients, listen for the call result (i.e. ringing, busy signal, answer, no answer, etc.), and when a call results in an answer, automatically transfer the call to an available agent. Such systems are in general use today by a variety of businesses, groups and organizations.
FIG. 1 shows a system overview of a typical system in use today. A system typically includes a call manager CPU 11, a call manager interface 13, telephone switch 17, trunks 19 and a memory such as a hard disk storage 15. A plurality of outbound telephone trunks 19 are connected to the call manager interface 13 via switch 17 and also to the agent headsets. A plurality of agent voice and data stations 21 are also connected to the system. The number M of these voice and data agent stations may be, for example, 24 for the case where the number of telephone trunks is 48. In other words, the number M of the voice and data agent stations is less than the number of telephone trunks. This allows the system unit to dial calls while all operators are busy talking to clients.
As illustrated in FIG. 1, each of the voice and data agent stations comprises a combination video display terminal (VDT) and keyboard, and a telephone headset and microphone. As will be appreciated by those skilled in the art, prior art call manager systems, such as those commercially available from applicant's assignee and others, include routines for gathering, manipulating and storing data relating to each call in a campaign. This data includes call duration data, after-call work duration, and call answer to dial call data.
The first step in beginning a calling campaign is to obtain the calling data, typically via tapes, disks, or through a communication link to a host computer. The data is input, and the system then organizes the data into the records for the campaign. When the campaign is started, the data is loaded into the "input call list." The system then preloads a dialing queue with a certain number of records from the calling data. As the dialing process begins, the system controls the number of calls being made at any one time based on the number of operators that are available to receive calls and the maximum allowable abandon call rate. An abandon call is a call that has been dialed, answered, but for which there is no available agent to respond to the answering party. These abandon calls are also referred to in the art as nuisance calls. The abandon call rate as used herein is the ratio of abandon calls to answered calls expressed as a percentage. The maximum abandon call rate is a rate which the system supervisor can select, usually in a range between 1% and 15%.
When a connection is established to a client, the system routes the call to an available agent and displays the client's record on the agent's screen. The agent is now ready to make a presentation to the client and record information from the transaction. Once the agent completes the call and any after-call work, the system then makes the agent station available for another call.
The system validates the client's record in an output call list, and depending on the outcome of the call, separates the record in the corresponding output file. For example, if the particular person to be contacted is not at home, the operator may press a key telling the system to place the client's record into the call-back file. When, for example, a call results in a future follow-up call, the agent presses another key to immediately print information of the transaction on a printer.
Records which require no further action (i.e. a sale is made, wrong number, etc.), are marked complete and are not put into the call-back file but instead are put in a sale file.
The goal of any call origination management system is to have each agent connected to each call answered without having the agent wait between calls or the called party having to wait for an agent after he or she answers. Under ideal conditions, there would be maximum talk time and no abandon calls, so-called nuisance calls. To accomplish this, however, requires a prior knowledge of the time it takes to connect a call and exactly how long each operator talks. In practice, both of these can be highly variable, within limits. the system cannot predict exactly when or if a placed call will result in an answer and, of course, the amount of time an operator talks will depend on the responses of the client. Therefore, scheduling the next answered call to occur exactly when an operator finishes talking, is impossible. An answer may occur before or after the operator finishes the previous call, and the result is an increase in the abandon call rate. It is clear that the system variables which affect talk time are the ratio of answered calls to the number of call attempts per session (A.sub.ratio) and the average time an agent is busy per or an increase in operator idle time, or both. Intuitively, call in the session (CON.sub.time). The system goal is a maximum talk time per agent with abandon calls kept below a preset level.
There are a number of call pacing methods in present commercial use. In general, these prior pacing methods attempt to predict when an agent will be available to respond to an answered call, and dial sufficient calls so that there will be an answered call for every available agent with a minimum time between the end of one call and the beginning of the next. The performance of these prior art pacing methods is generally satisfactory in a specific calling environment for which they are targeted and when operating with large number of agents and a high acceptable percentage of abandon calls. Their performance drops when used outside their targeted environment and when used with a small number of agents and/or a low acceptable percentage of nuisance calls.
Prior art dialing algorithms do not satisfactorily account for the fact that the outbound telephone switch has a maximum rate at which calls can be launched. With a large agent pool, and a sufficiently low hit rate, the system may attempt to launch more calls than the outbound telephone switch can handle. The prior art uses a simple "circuit breaker" mechanism. Outbound switches are rated as to the number of calls per minute they can handle. With a switch limit X calls per minute, if the number of call launches any minute exceeds X, the prior art systems reject all further calls until the next minute. There are two drawbacks to this simple system.
1. Since the granularity of protection is one minute, the switch can be overloaded at the start of each minute, until the number of calls exceeds X, when the load falls to zero. Although our average load will be within limits, the instantaneous load can be above limits. PA1 2. Rejecting calls has an adverse effect on dialing algorithms. When calls are rejected, the dialing algorithm sees the hit rate drop, and will increase the launch rate. The exact opposite of what is needed if the outbound switch is already overloading. Rejecting calls in this situation leads to more dials being rejected, and thrashing within the system. This thrashing can lead to system failure.